home *** CD-ROM | disk | FTP | other *** search
/ Hardcore Visual Basic 5.0 (2nd Edition) / Hardcore Visual Basic 5.0 - Second Edition (1997)(Microsoft Press).iso / Code / TSHORT~1.FRM < prev    next >
Text File  |  1997-06-14  |  21KB  |  570 lines

  1. VERSION 5.00
  2. Begin VB.Form FTestShortcuts 
  3.    Caption         =   "Test Shortcuts"
  4.    ClientHeight    =   5730
  5.    ClientLeft      =   2070
  6.    ClientTop       =   3060
  7.    ClientWidth     =   6360
  8.    Icon            =   "TShortcut.frx":0000
  9.    LinkTopic       =   "Form1"
  10.    PaletteMode     =   1  'UseZOrder
  11.    ScaleHeight     =   5730
  12.    ScaleWidth      =   6360
  13.    Begin VB.TextBox txtDescription 
  14.       Height          =   375
  15.       Left            =   1920
  16.       TabIndex        =   26
  17.       Top             =   5244
  18.       Width           =   4344
  19.    End
  20.    Begin VB.CheckBox chkCtl 
  21.       Caption         =   "Ctl"
  22.       Height          =   192
  23.       Left            =   1212
  24.       TabIndex        =   24
  25.       Top             =   5175
  26.       Value           =   1  'Checked
  27.       Width           =   540
  28.    End
  29.    Begin VB.CheckBox chkAlt 
  30.       Caption         =   "Alt"
  31.       Height          =   255
  32.       Left            =   1212
  33.       TabIndex        =   23
  34.       Top             =   5370
  35.       Value           =   1  'Checked
  36.       Width           =   495
  37.    End
  38.    Begin VB.CheckBox chkShift 
  39.       Caption         =   "Shift"
  40.       Height          =   168
  41.       Left            =   1212
  42.       TabIndex        =   22
  43.       Top             =   5016
  44.       Width           =   660
  45.    End
  46.    Begin VB.ListBox lstHotKey 
  47.       Height          =   450
  48.       Left            =   90
  49.       TabIndex        =   21
  50.       Top             =   5010
  51.       Width           =   1050
  52.    End
  53.    Begin VB.CommandButton cmdNew 
  54.       Caption         =   "&New"
  55.       Height          =   384
  56.       Left            =   96
  57.       TabIndex        =   19
  58.       Top             =   576
  59.       Width           =   1575
  60.    End
  61.    Begin VB.CommandButton cmdFill 
  62.       Caption         =   "Fill"
  63.       Height          =   375
  64.       Left            =   5385
  65.       TabIndex        =   18
  66.       Top             =   3864
  67.       Width           =   855
  68.    End
  69.    Begin VB.TextBox txtPath 
  70.       Height          =   375
  71.       Left            =   1920
  72.       TabIndex        =   16
  73.       Top             =   2460
  74.       Width           =   4332
  75.    End
  76.    Begin VB.TextBox txtArguments 
  77.       Height          =   375
  78.       Left            =   1920
  79.       TabIndex        =   15
  80.       Top             =   4548
  81.       Width           =   4344
  82.    End
  83.    Begin VB.ListBox lstDisplay 
  84.       Height          =   450
  85.       ItemData        =   "TShortcut.frx":0CFA
  86.       Left            =   84
  87.       List            =   "TShortcut.frx":0D07
  88.       TabIndex        =   13
  89.       Top             =   4164
  90.       Width           =   1560
  91.    End
  92.    Begin VB.ListBox lstLocation 
  93.       Height          =   1425
  94.       ItemData        =   "TShortcut.frx":0D30
  95.       Left            =   84
  96.       List            =   "TShortcut.frx":0D4C
  97.       TabIndex        =   12
  98.       Top             =   2304
  99.       Width           =   1596
  100.    End
  101.    Begin VB.Frame fmTarget 
  102.       Caption         =   "Target File"
  103.       Height          =   2136
  104.       Left            =   1920
  105.       TabIndex        =   7
  106.       Top             =   0
  107.       Width           =   4332
  108.       Begin VB.ComboBox cboPattern 
  109.          Height          =   288
  110.          ItemData        =   "TShortcut.frx":0DC7
  111.          Left            =   2016
  112.          List            =   "TShortcut.frx":0DE6
  113.          TabIndex        =   25
  114.          Top             =   1704
  115.          Width           =   2148
  116.       End
  117.       Begin VB.DriveListBox drvLink 
  118.          Height          =   288
  119.          Left            =   120
  120.          TabIndex        =   10
  121.          Top             =   240
  122.          Width           =   1836
  123.       End
  124.       Begin VB.DirListBox dirLink 
  125.          Height          =   1368
  126.          Left            =   120
  127.          TabIndex        =   9
  128.          Top             =   612
  129.          Width           =   1824
  130.       End
  131.       Begin VB.FileListBox fileLink 
  132.          Height          =   1260
  133.          Left            =   2016
  134.          TabIndex        =   8
  135.          Top             =   204
  136.          Width           =   2160
  137.       End
  138.    End
  139.    Begin VB.CommandButton cmdReset 
  140.       Caption         =   "&Reset"
  141.       Height          =   408
  142.       Left            =   96
  143.       TabIndex        =   5
  144.       Top             =   1032
  145.       Width           =   1575
  146.    End
  147.    Begin VB.TextBox txtDirectory 
  148.       Height          =   375
  149.       Left            =   1920
  150.       TabIndex        =   2
  151.       Top             =   3852
  152.       Width           =   3348
  153.    End
  154.    Begin VB.TextBox txtLink 
  155.       Height          =   375
  156.       Left            =   1935
  157.       TabIndex        =   1
  158.       Top             =   3144
  159.       Width           =   4320
  160.    End
  161.    Begin VB.CommandButton cmdSave 
  162.       Caption         =   "&Save"
  163.       Height          =   384
  164.       Left            =   84
  165.       TabIndex        =   0
  166.       Top             =   108
  167.       Width           =   1575
  168.    End
  169.    Begin VB.Label lbl 
  170.       Caption         =   "Description:"
  171.       Height          =   255
  172.       Index           =   7
  173.       Left            =   1920
  174.       TabIndex        =   27
  175.       Top             =   5010
  176.       Width           =   1335
  177.    End
  178.    Begin VB.Image imgIcon 
  179.       Height          =   504
  180.       Left            =   96
  181.       Top             =   1524
  182.       Width           =   660
  183.    End
  184.    Begin VB.Label lbl 
  185.       Caption         =   "Hot key:"
  186.       Height          =   264
  187.       Index           =   5
  188.       Left            =   96
  189.       TabIndex        =   20
  190.       Top             =   4800
  191.       Width           =   792
  192.    End
  193.    Begin VB.Label lbl 
  194.       Caption         =   "Target path:"
  195.       Height          =   255
  196.       Index           =   6
  197.       Left            =   1905
  198.       TabIndex        =   17
  199.       Top             =   2220
  200.       Width           =   1335
  201.    End
  202.    Begin VB.Label lbl 
  203.       Caption         =   "Arguments:"
  204.       Height          =   255
  205.       Index           =   4
  206.       Left            =   1920
  207.       TabIndex        =   14
  208.       Top             =   4305
  209.       Width           =   1335
  210.    End
  211.    Begin VB.Label lbl 
  212.       Caption         =   "Set location:"
  213.       Height          =   252
  214.       Index           =   3
  215.       Left            =   96
  216.       TabIndex        =   11
  217.       Top             =   2088
  218.       Width           =   1212
  219.    End
  220.    Begin VB.Label lbl 
  221.       Caption         =   "Display:"
  222.       Height          =   252
  223.       Index           =   2
  224.       Left            =   108
  225.       TabIndex        =   6
  226.       Top             =   3900
  227.       Width           =   1332
  228.    End
  229.    Begin VB.Label lbl 
  230.       Caption         =   "Link file: "
  231.       Height          =   255
  232.       Index           =   1
  233.       Left            =   1920
  234.       TabIndex        =   4
  235.       Top             =   2910
  236.       Width           =   1215
  237.    End
  238.    Begin VB.Label lbl 
  239.       Caption         =   "Working Directory:"
  240.       Height          =   255
  241.       Index           =   0
  242.       Left            =   1920
  243.       TabIndex        =   3
  244.       Top             =   3615
  245.       Width           =   1815
  246.    End
  247. End
  248. Attribute VB_Name = "FTestShortcuts"
  249. Attribute VB_GlobalNameSpace = False
  250. Attribute VB_Creatable = False
  251. Attribute VB_PredeclaredId = True
  252. Attribute VB_Exposed = False
  253. Option Explicit
  254.  
  255. Private shortcut As New CShortcut
  256. Private sInitDir As String
  257. Private sFilePath As String     ' d:\dir\
  258. Private sFileName As String     ' base.ext
  259. Private sCurDir As String
  260. Private fInside As Boolean
  261.  
  262. Private Sub Form_Load()
  263.     ChDir App.Path
  264.     sCurDir = CurDir$
  265.     lstDisplay.ItemData(0) = edmNormal
  266.     lstDisplay.ItemData(1) = edmMinimized
  267.     lstDisplay.ItemData(2) = edmMaximized
  268.     lstLocation.ListIndex = edstDesktop
  269.     cboPattern.ListIndex = 0
  270.     dirLink.Path = Environ("windir")
  271.     fileLink_PathChange
  272.     fileLink_Click
  273.     lstDisplay.ListIndex = edmNormal - 1
  274.     InitKeys lstHotKey
  275. End Sub
  276.  
  277. Private Sub Form_Unload(Cancel As Integer)
  278.     ChDrive sCurDir
  279.     ChDir sCurDir
  280. End Sub
  281.  
  282. Private Sub cmdSave_Click()
  283. With shortcut
  284.     On Error GoTo FailSave
  285.     .Path = txtPath
  286.     If txtDirectory <> "" Then .WorkingDirectory = txtDirectory
  287.     If txtArguments <> "" Then .Arguments = txtArguments
  288.     If txtDescription <> "" Then .Description = txtDescription
  289.     If lstHotKey.ListIndex <> 0 Then
  290.         .Hotkey = lstHotKey.ItemData(lstHotKey.ListIndex) Or _
  291.                   (chkShift.Value * &H100) Or _
  292.                   (chkCtl.Value * &H200) Or _
  293.                   (chkAlt.Value * &H400)
  294.     Else
  295.         .Hotkey = 0
  296.     End If
  297.     .DisplayMode = lstDisplay.ItemData(lstDisplay.ListIndex)
  298.     txtLink = .Save(txtLink)
  299.     Exit Sub
  300. FailSave:
  301.     MsgBox "Can't save"
  302. End With
  303. End Sub
  304.  
  305. Private Sub cmdNew_Click()
  306.     Set shortcut = Nothing
  307.     txtDirectory = sEmpty
  308.     txtArguments = sEmpty
  309.     txtDescription = sEmpty
  310.     lstDisplay.ListIndex = 0
  311.     lstHotKey.ListIndex = 0
  312. End Sub
  313.  
  314. Private Sub cmdReset_Click()
  315. Dim i As Integer
  316. With shortcut
  317.     i = fileLink.ListIndex
  318.     fileLink.Refresh
  319.     fInside = True
  320.     fileLink.ListIndex = i
  321.     fInside = False
  322.     txtPath = .Path
  323.     txtDirectory = .WorkingDirectory
  324.     txtArguments = .Arguments
  325.     txtDescription = .Description
  326.     lstDisplay.ListIndex = LookupItemData(lstDisplay, .DisplayMode)
  327.     lstHotKey.ListIndex = LookupItemData(lstHotKey, .Hotkey And &HFF)
  328.     chkShift.Value = -CBool(.Hotkey And &H100)
  329.     chkCtl.Value = -CBool(.Hotkey And &H200)
  330.     chkAlt.Value = -CBool(.Hotkey And &H400)
  331.     Set imgIcon.Picture = .Icon
  332. End With
  333. End Sub
  334.  
  335. Private Sub cmdFill_Click()
  336.     txtDirectory = sFilePath
  337. End Sub
  338.  
  339. Private Sub dirLink_Change()
  340.     fileLink.Path = dirLink.Path
  341.     If fileLink.ListCount > 0 Then
  342.         fileLink.ListIndex = 0
  343.     End If
  344.     txtPath = sFilePath & sFileName
  345. End Sub
  346.  
  347. Private Sub cboPattern_Click()
  348.     Dim s As String, iParen As Long
  349.     iParen = InStr(cboPattern.Text, "(")
  350.     s = Mid$(cboPattern.Text, iParen + 1)
  351.     s = Left$(s, Len(s) - 1)
  352.     Select Case Left$(cboPattern.Text, iParen - 2)
  353.     Case "Desktop"
  354.         dirLink.Path = GetDesktop
  355.     Case "Common Desktop"
  356.         dirLink.Path = GetCommonDesktop
  357.     Case "Common Programs"
  358.         dirLink.Path = GetCommonPrograms
  359.     Case "Programs"
  360.         dirLink.Path = GetPrograms
  361.     Case "Start Menu"
  362.         dirLink.Path = GetStartMenu
  363.     End Select
  364.     fileLink.Pattern = s
  365. End Sub
  366.  
  367. Private Sub drvLink_Change()
  368.     dirLink.Path = drvLink.Drive
  369.     txtPath = sFilePath & sFileName
  370. End Sub
  371.  
  372. Private Sub fileLink_PathChange()
  373.     sFilePath = NormalizePath(fileLink.Path)
  374.     If fileLink.ListCount > 0 Then fileLink.ListIndex = 0
  375. End Sub
  376.  
  377. Private Sub fileLink_Click()
  378. With shortcut
  379.     If fInside Then Exit Sub
  380.     fInside = True
  381.     sFileName = fileLink.filename
  382.     txtPath = sFilePath & sFileName
  383.     If UCase$(GetFileExt(sFileName)) = ".LNK" Then
  384.         ' Update all fields for
  385.         txtLink = txtPath
  386.         .Resolve txtLink
  387.         cmdReset_Click
  388.     Else
  389.         lstLocation_Click
  390.         Dim hIcon As Long
  391.         hIcon = ExtractIcon(App.hInstance, txtPath, 0)
  392.         Set imgIcon.Picture = IconToPicture(hIcon)
  393.     End If
  394.     fInside = False
  395. End With
  396. End Sub
  397.  
  398. Private Sub fileLink_PatternChange()
  399.     If fileLink.ListCount > 0 Then
  400.         fileLink.ListIndex = 0
  401.     End If
  402.     txtPath = sFilePath & sFileName
  403. End Sub
  404.  
  405. Private Sub lstDisplay_Click()
  406.     shortcut.DisplayMode = lstDisplay.ItemData(lstDisplay.ListIndex)
  407. End Sub
  408.  
  409. 'Private Sub lstLocation_Click()
  410. '    shortcut.Location = lstLocation.ListIndex
  411. '    txtLink = shortcut.Location
  412. 'End Sub
  413.  
  414. 'Private Sub txtLink_LostFocus()
  415. '    shortcut.Location = txtLink
  416. 'End Sub
  417.  
  418. Sub InitKeys(lst As Control)
  419. With lst
  420.     
  421.     .AddItem "(None)": .ItemData(.ListCount - 1) = 0
  422.     
  423.     ' Function Keys
  424.     .AddItem "F1": .ItemData(.ListCount - 1) = vbKeyF1        ' F1 key
  425.     .AddItem "F2": .ItemData(.ListCount - 1) = vbKeyF2        ' F2 key
  426.     .AddItem "F3": .ItemData(.ListCount - 1) = vbKeyF3        ' F3 key
  427.     .AddItem "F4": .ItemData(.ListCount - 1) = vbKeyF4        ' F4 key
  428.     .AddItem "F5": .ItemData(.ListCount - 1) = vbKeyF5        ' F5 key
  429.     .AddItem "F6": .ItemData(.ListCount - 1) = vbKeyF6        ' F6 key
  430.     .AddItem "F7": .ItemData(.ListCount - 1) = vbKeyF7        ' F7 key
  431.     .AddItem "F8": .ItemData(.ListCount - 1) = vbKeyF8        ' F8 key
  432.     .AddItem "F9": .ItemData(.ListCount - 1) = vbKeyF9        ' F9 key
  433.     .AddItem "F10": .ItemData(.ListCount - 1) = vbKeyF10      ' F10 key
  434.     .AddItem "F11": .ItemData(.ListCount - 1) = vbKeyF11      ' F11 key
  435.     .AddItem "F12": .ItemData(.ListCount - 1) = vbKeyF12      ' F12 key
  436.     .AddItem "F13": .ItemData(.ListCount - 1) = vbKeyF13      ' F13 key
  437.     .AddItem "F14": .ItemData(.ListCount - 1) = vbKeyF14      ' F14 key
  438.     .AddItem "F15": .ItemData(.ListCount - 1) = vbKeyF15      ' F15 key
  439.     .AddItem "F16": .ItemData(.ListCount - 1) = vbKeyF16      ' F16 key
  440.     
  441.     ' Miscellaneous control keys
  442.     .AddItem "Cancel": .ItemData(.ListCount - 1) = vbKeyCancel      ' CANCEL key
  443.     .AddItem "Back": .ItemData(.ListCount - 1) = vbKeyBack          ' BACKSPACE key
  444.     .AddItem "Tab": .ItemData(.ListCount - 1) = vbKeyTab            ' TAB key
  445.     .AddItem "Clear": .ItemData(.ListCount - 1) = vbKeyClear        ' CLEAR key
  446.     .AddItem "Return": .ItemData(.ListCount - 1) = vbKeyReturn      ' ENTER key
  447.     .AddItem "Menu": .ItemData(.ListCount - 1) = vbKeyMenu          ' MENU key
  448.     .AddItem "Pause": .ItemData(.ListCount - 1) = vbKeyPause        ' PAUSE key
  449.     .AddItem "Escape": .ItemData(.ListCount - 1) = vbKeyEscape      ' ESC key
  450.     .AddItem "Space": .ItemData(.ListCount - 1) = vbKeySpace        ' SPACEBAR key
  451.     .AddItem "PageUp": .ItemData(.ListCount - 1) = vbKeyPageUp      ' PAGE UP key
  452.     .AddItem "PageDown": .ItemData(.ListCount - 1) = vbKeyPageDown  ' PAGE DOWN key
  453.     .AddItem "End": .ItemData(.ListCount - 1) = vbKeyEnd            ' END key
  454.     .AddItem "Home": .ItemData(.ListCount - 1) = vbKeyHome          ' HOME key
  455.     .AddItem "Left": .ItemData(.ListCount - 1) = vbKeyLeft          ' LEFT ARROW key
  456.     .AddItem "Up": .ItemData(.ListCount - 1) = vbKeyUp              ' UP ARROW key
  457.     .AddItem "Right": .ItemData(.ListCount - 1) = vbKeyRight        ' RIGHT ARROW key
  458.     .AddItem "Down": .ItemData(.ListCount - 1) = vbKeyDown          ' DOWN ARROW key
  459.     .AddItem "Select": .ItemData(.ListCount - 1) = vbKeySelect      ' SELECT key
  460.     .AddItem "Print": .ItemData(.ListCount - 1) = vbKeyPrint        ' PRINT SCREEN key
  461.     .AddItem "Execute": .ItemData(.ListCount - 1) = vbKeyExecute    ' EXECUTE key
  462.     .AddItem "Snapshot": .ItemData(.ListCount - 1) = vbKeySnapshot  ' SNAPSHOT key
  463.     .AddItem "Insert": .ItemData(.ListCount - 1) = vbKeyInsert      ' INS key
  464.     .AddItem "Delete": .ItemData(.ListCount - 1) = vbKeyDelete      ' DEL key
  465.     .AddItem "Help": .ItemData(.ListCount - 1) = vbKeyHelp          ' HELP key
  466.     .AddItem "Numlock": .ItemData(.ListCount - 1) = vbKeyNumlock    ' NUM LOCK key
  467.     
  468.     ' Keys on the Numeric Keypad
  469.     .AddItem "Numpad 0": .ItemData(.ListCount - 1) = vbKeyNumpad0    ' 0 key
  470.     .AddItem "Numpad 1": .ItemData(.ListCount - 1) = vbKeyNumpad1    ' 1 key
  471.     .AddItem "Numpad 2": .ItemData(.ListCount - 1) = vbKeyNumpad2    ' 2 key
  472.     .AddItem "Numpad 3": .ItemData(.ListCount - 1) = vbKeyNumpad3    ' 3 key
  473.     .AddItem "Numpad 4": .ItemData(.ListCount - 1) = vbKeyNumpad4    ' 4 key
  474.     .AddItem "Numpad 5": .ItemData(.ListCount - 1) = vbKeyNumpad5    ' 5 key
  475.     .AddItem "Numpad 6": .ItemData(.ListCount - 1) = vbKeyNumpad6    ' 6 key
  476.     .AddItem "Numpad 7": .ItemData(.ListCount - 1) = vbKeyNumpad7    ' 7 key
  477.     .AddItem "Numpad 8": .ItemData(.ListCount - 1) = vbKeyNumpad8    ' 8 key
  478.     .AddItem "Numpad 9": .ItemData(.ListCount - 1) = vbKeyNumpad9    ' 9 key
  479.     .AddItem "Multiply": .ItemData(.ListCount - 1) = vbKeyMultiply   ' MULTIPLICATION SIGN (*) key
  480.     .AddItem "Add": .ItemData(.ListCount - 1) = vbKeyAdd             ' PLUS SIGN (+) key
  481.     .AddItem "Separator": .ItemData(.ListCount - 1) = vbKeySeparator ' ENTER (keypad) key
  482.     .AddItem "Subtract": .ItemData(.ListCount - 1) = vbKeySubtract   ' MINUS SIGN (-) key
  483.     .AddItem "Decimal": .ItemData(.ListCount - 1) = vbKeyDecimal     ' DECIMAL POINT(.) key
  484.     .AddItem "Divide": .ItemData(.ListCount - 1) = vbKeyDivide       ' DIVISION SIGN (/) key
  485.     
  486.     ' KeyA Through KeyZ Are the Same as Their ASCII Equivalents
  487.     .AddItem "A": .ItemData(.ListCount - 1) = vbKeyA         ' A key
  488.     .AddItem "B": .ItemData(.ListCount - 1) = vbKeyB         ' B key
  489.     .AddItem "C": .ItemData(.ListCount - 1) = vbKeyC         ' C key
  490.     .AddItem "D": .ItemData(.ListCount - 1) = vbKeyD         ' D key
  491.     .AddItem "E": .ItemData(.ListCount - 1) = vbKeyE         ' E key
  492.     .AddItem "F": .ItemData(.ListCount - 1) = vbKeyF         ' F key
  493.     .AddItem "G": .ItemData(.ListCount - 1) = vbKeyG         ' G key
  494.     .AddItem "H": .ItemData(.ListCount - 1) = vbKeyH         ' H key
  495.     .AddItem "I": .ItemData(.ListCount - 1) = vbKeyI         ' I key
  496.     .AddItem "J": .ItemData(.ListCount - 1) = vbKeyJ         ' J key
  497.     .AddItem "K": .ItemData(.ListCount - 1) = vbKeyK         ' K key
  498.     .AddItem "L": .ItemData(.ListCount - 1) = vbKeyL         ' L key
  499.     .AddItem "M": .ItemData(.ListCount - 1) = vbKeyM         ' M key
  500.     .AddItem "N": .ItemData(.ListCount - 1) = vbKeyN         ' N key
  501.     .AddItem "O": .ItemData(.ListCount - 1) = vbKeyO         ' O key
  502.     .AddItem "P": .ItemData(.ListCount - 1) = vbKeyP         ' P key
  503.     .AddItem "Q": .ItemData(.ListCount - 1) = vbKeyQ         ' Q key
  504.     .AddItem "R": .ItemData(.ListCount - 1) = vbKeyR         ' R key
  505.     .AddItem "S": .ItemData(.ListCount - 1) = vbKeyS         ' S key
  506.     .AddItem "T": .ItemData(.ListCount - 1) = vbKeyT         ' T key
  507.     .AddItem "U": .ItemData(.ListCount - 1) = vbKeyU         ' U key
  508.     .AddItem "V": .ItemData(.ListCount - 1) = vbKeyV         ' V key
  509.     .AddItem "W": .ItemData(.ListCount - 1) = vbKeyW         ' W key
  510.     .AddItem "X": .ItemData(.ListCount - 1) = vbKeyX         ' X key
  511.     .AddItem "Y": .ItemData(.ListCount - 1) = vbKeyY         ' Y key
  512.     .AddItem "Z": .ItemData(.ListCount - 1) = vbKeyZ         ' Z key
  513.  
  514.     ' Key0 Through Key9 Are the Same as Their ASCII Equivalents: '0' Through '9
  515.     .AddItem "0": .ItemData(.ListCount - 1) = vbKey0         ' 0 key
  516.     .AddItem "1": .ItemData(.ListCount - 1) = vbKey1         ' 1 key
  517.     .AddItem "2": .ItemData(.ListCount - 1) = vbKey2         ' 2 key
  518.     .AddItem "3": .ItemData(.ListCount - 1) = vbKey3         ' 3 key
  519.     .AddItem "4": .ItemData(.ListCount - 1) = vbKey4         ' 4 key
  520.     .AddItem "5": .ItemData(.ListCount - 1) = vbKey5         ' 5 key
  521.     .AddItem "6": .ItemData(.ListCount - 1) = vbKey6         ' 6 key
  522.     .AddItem "7": .ItemData(.ListCount - 1) = vbKey7         ' 7 key
  523.     .AddItem "8": .ItemData(.ListCount - 1) = vbKey8         ' 8 key
  524.     .AddItem "9": .ItemData(.ListCount - 1) = vbKey9         ' 9 key
  525.     
  526.     .ListIndex = 0
  527. End With
  528. End Sub
  529.  
  530.  
  531. Private Sub lstHotKey_Click()
  532.     If lstHotKey.ListIndex = 0 Then
  533.         chkAlt = vbUnchecked
  534.         chkCtl = vbUnchecked
  535.         chkShift = vbUnchecked
  536.         chkAlt.Enabled = False
  537.         chkCtl.Enabled = False
  538.         chkShift.Enabled = False
  539.     Else
  540.         chkAlt.Enabled = True
  541.         chkCtl.Enabled = True
  542.         chkShift.Enabled = True
  543.     End If
  544. End Sub
  545.  
  546. Private Sub lstLocation_Click()
  547.     Dim sFile As String
  548.     sFile = GetFileBase(sFileName) & ".LNK"
  549.     Select Case lstLocation.ListIndex
  550.     Case edstDesktop
  551.         txtLink = GetDesktop & sFile
  552.     Case edstCommonDesktop
  553.         txtLink = GetCommonDesktop & sFile
  554.     Case edstPrograms
  555.         txtLink = GetPrograms & sFile
  556.     Case edstCommonPrograms
  557.         txtLink = GetCommonPrograms & sFile
  558.     Case edstStartMenu
  559.         txtLink = GetStartMenu & sFile
  560.     Case edstPath
  561.         txtLink = sFilePath & sFile
  562.     Case edstCurrent
  563.         txtLink = NormalizePath(CurDir$) & sFile
  564.     Case Else
  565.         txtLink.Text = sFile
  566.         txtLink.SelStart = 0
  567.         txtLink.SetFocus
  568.     End Select
  569. End Sub
  570.